﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 报销单表体AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class ReimburseBillDetailsAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public ReimburseBillDetailsAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
					TotalTax=0m; 
		
		
					TaxRate=0m; 
		
					ReimburseMoney=0m; 
					NonTaxMoney=0m; 
					LineNum= 0; 
							InvoiceMoney=0m; 
		
		
		
		
		
		
		
					SubsidyDays= 0; 
		
			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.ReimburseBillAITDTO != null) 
			{
				this.ReimburseBillAITDTO.DoSerializeKeyList(dict);
			}
	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.TaxSchedule != null) 
			{
				this.TaxSchedule.DoSerializeKeyList(dict);
			}
	        	        			if (this.Tax != null) 
			{
				this.Tax.DoSerializeKeyList(dict);
			}
	        	        	        	        	        	        			if (this.ExpensePayProject != null) 
			{
				this.ExpensePayProject.DoSerializeKeyList(dict);
			}
	        			if (this.ExpensePayDept != null) 
			{
				this.ExpensePayDept.DoSerializeKeyList(dict);
			}
	        			if (this.ExpensePayBy != null) 
			{
				this.ExpensePayBy.DoSerializeKeyList(dict);
			}
	        			if (this.ExpenseItem != null) 
			{
				this.ExpenseItem.DoSerializeKeyList(dict);
			}
	        	        	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public ReimburseBillDetailsAITDTOData(  ufida.u9.ait.openapi.ReimburseBillAITDTOData reimburseBillAITDTO  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.Decimal totalTax  , System.String tCNum  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData taxSchedule  , System.Decimal taxRate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData tax  , System.Decimal reimburseMoney  , System.Decimal nonTaxMoney  , System.Int32 lineNum  , System.Decimal invoiceMoney  , System.String fromDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData expensePayProject  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData expensePayDept  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData expensePayBy  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData expenseItem  , System.String toDate  , System.String toPlace  , System.Int32 subsidyDays  )
		{
			initData();
			this.ReimburseBillAITDTO = reimburseBillAITDTO;
			this.DescFlexField = descFlexField;
			this.TotalTax = totalTax;
			this.TCNum = tCNum;
			this.TaxSchedule = taxSchedule;
			this.TaxRate = taxRate;
			this.Tax = tax;
			this.ReimburseMoney = reimburseMoney;
			this.NonTaxMoney = nonTaxMoney;
			this.LineNum = lineNum;
			this.InvoiceMoney = invoiceMoney;
			this.FromDate = fromDate;
			this.ExpensePayProject = expensePayProject;
			this.ExpensePayDept = expensePayDept;
			this.ExpensePayBy = expensePayBy;
			this.ExpenseItem = expenseItem;
			this.ToDate = toDate;
			this.ToPlace = toPlace;
			this.SubsidyDays = subsidyDays;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 报销单AITDTO
		/// 报销单表体AITDTO.Misc.报销单AITDTO
		/// </summary>
		private ufida.u9.ait.openapi.ReimburseBillAITDTOData m_reimburseBillAITDTO ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.ReimburseBillAITDTOData ReimburseBillAITDTO
		{
			get	
			{	
				return m_reimburseBillAITDTO ;
			}
			set	
			{	
				m_reimburseBillAITDTO = value ;	
			}
		}
			
		

		/// <summary>
		/// 实体扩展字段
		/// 报销单表体AITDTO.Misc.实体扩展字段
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 税额
		/// 报销单表体AITDTO.Misc.税额
		/// </summary>
		private System.Decimal m_totalTax ;
		[DataMember(IsRequired=false)]
		public System.Decimal TotalTax
		{
			get	
			{	
				return m_totalTax ;
			}
			set	
			{	
				m_totalTax = value ;	
			}
		}
			
		

		/// <summary>
		/// 发票号
		/// 报销单表体AITDTO.Misc.发票号
		/// </summary>
		private System.String m_tCNum ;
		[DataMember(IsRequired=false)]
		public System.String TCNum
		{
			get	
			{	
				return m_tCNum ;
			}
			set	
			{	
				m_tCNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 税组合
		/// 报销单表体AITDTO.Misc.税组合
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_taxSchedule ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TaxSchedule
		{
			get	
			{	
				return m_taxSchedule ;
			}
			set	
			{	
				m_taxSchedule = value ;	
			}
		}
			
		

		/// <summary>
		/// 税率
		/// 报销单表体AITDTO.Misc.税率
		/// </summary>
		private System.Decimal m_taxRate ;
		[DataMember(IsRequired=false)]
		public System.Decimal TaxRate
		{
			get	
			{	
				return m_taxRate ;
			}
			set	
			{	
				m_taxRate = value ;	
			}
		}
			
		

		/// <summary>
		/// 税别
		/// 报销单表体AITDTO.Misc.税别
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_tax ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Tax
		{
			get	
			{	
				return m_tax ;
			}
			set	
			{	
				m_tax = value ;	
			}
		}
			
		

		/// <summary>
		/// 报销金额
		/// 报销单表体AITDTO.Misc.报销金额
		/// </summary>
		private System.Decimal m_reimburseMoney ;
		[DataMember(IsRequired=false)]
		public System.Decimal ReimburseMoney
		{
			get	
			{	
				return m_reimburseMoney ;
			}
			set	
			{	
				m_reimburseMoney = value ;	
			}
		}
			
		

		/// <summary>
		/// 未税金额
		/// 报销单表体AITDTO.Misc.未税金额
		/// </summary>
		private System.Decimal m_nonTaxMoney ;
		[DataMember(IsRequired=false)]
		public System.Decimal NonTaxMoney
		{
			get	
			{	
				return m_nonTaxMoney ;
			}
			set	
			{	
				m_nonTaxMoney = value ;	
			}
		}
			
		

		/// <summary>
		/// 行号
		/// 报销单表体AITDTO.Misc.行号
		/// </summary>
		private System.Int32 m_lineNum ;
		[DataMember(IsRequired=false)]
		public System.Int32 LineNum
		{
			get	
			{	
				return m_lineNum ;
			}
			set	
			{	
				m_lineNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 发票金额
		/// 报销单表体AITDTO.Misc.发票金额
		/// </summary>
		private System.Decimal m_invoiceMoney ;
		[DataMember(IsRequired=false)]
		public System.Decimal InvoiceMoney
		{
			get	
			{	
				return m_invoiceMoney ;
			}
			set	
			{	
				m_invoiceMoney = value ;	
			}
		}
			
		

		/// <summary>
		/// 出发日期
		/// 报销单表体AITDTO.Misc.出发日期
		/// </summary>
		private System.String m_fromDate ;
		[DataMember(IsRequired=false)]
		public System.String FromDate
		{
			get	
			{	
				return m_fromDate ;
			}
			set	
			{	
				m_fromDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 项目
		/// 报销单表体AITDTO.Misc.项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_expensePayProject ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExpensePayProject
		{
			get	
			{	
				return m_expensePayProject ;
			}
			set	
			{	
				m_expensePayProject = value ;	
			}
		}
			
		

		/// <summary>
		/// 列支部门
		/// 报销单表体AITDTO.Misc.列支部门
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_expensePayDept ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExpensePayDept
		{
			get	
			{	
				return m_expensePayDept ;
			}
			set	
			{	
				m_expensePayDept = value ;	
			}
		}
			
		

		/// <summary>
		/// 列支人员
		/// 报销单表体AITDTO.Misc.列支人员
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_expensePayBy ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExpensePayBy
		{
			get	
			{	
				return m_expensePayBy ;
			}
			set	
			{	
				m_expensePayBy = value ;	
			}
		}
			
		

		/// <summary>
		/// 费用项目
		/// 报销单表体AITDTO.Misc.费用项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_expenseItem ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExpenseItem
		{
			get	
			{	
				return m_expenseItem ;
			}
			set	
			{	
				m_expenseItem = value ;	
			}
		}
			
		

		/// <summary>
		/// 到达日期
		/// 报销单表体AITDTO.Misc.到达日期
		/// </summary>
		private System.String m_toDate ;
		[DataMember(IsRequired=false)]
		public System.String ToDate
		{
			get	
			{	
				return m_toDate ;
			}
			set	
			{	
				m_toDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 行程
		/// 报销单表体AITDTO.Misc.行程
		/// </summary>
		private System.String m_toPlace ;
		[DataMember(IsRequired=false)]
		public System.String ToPlace
		{
			get	
			{	
				return m_toPlace ;
			}
			set	
			{	
				m_toPlace = value ;	
			}
		}
			
		

		/// <summary>
		/// 补助天数
		/// 报销单表体AITDTO.Misc.补助天数
		/// </summary>
		private System.Int32 m_subsidyDays ;
		[DataMember(IsRequired=false)]
		public System.Int32 SubsidyDays
		{
			get	
			{	
				return m_subsidyDays ;
			}
			set	
			{	
				m_subsidyDays = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																						
		#endregion 
	} 	
}
